home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / lib / partman / check.d / 10check_basicfilesystems < prev    next >
Text File  |  2008-10-29  |  2KB  |  52 lines

  1. #!/bin/sh
  2.  
  3. . /lib/partman/lib/base.sh
  4.  
  5. for dev in $DEVICES/*; do
  6.     [ -d "$dev" ] || continue
  7.     cd $dev
  8.     partitions=
  9.     open_dialog PARTITIONS
  10.     while { read_line num id size type fs path name; [ "$id" ]; }; do
  11.         [ "$fs" != free ] || continue
  12.         partitions="$partitions $id,$num"
  13.     done
  14.     close_dialog
  15.  
  16.     for part in $partitions; do
  17.         id=${part%,*}
  18.         num=${part#*,}
  19.         [ -f $id/method -a ! -f $id/format \
  20.           -a -f $id/acting_filesystem ] || continue
  21.         filesystem=$(cat $id/acting_filesystem)
  22.         case $filesystem in
  23.             ext2|fat16|fat32)
  24.             log "Check the file system in $dev/$id"
  25.             template=partman-basicfilesystems/progress_checking
  26.             RET=''
  27.             db_metaget  partman/filesystem_short/"$filesystem" description || RET=''
  28.             [ "$RET" ] || RET="$filesystem"
  29.             db_subst $template TYPE "$RET"
  30.             db_subst $template PARTITION "$num"
  31.             db_subst $template DEVICE $(humandev $(cat device))
  32.             name_progress_bar $template
  33.             open_dialog CHECK_FILE_SYSTEM $id
  34.             read_line status
  35.             close_dialog
  36.             if [ "$status" != good ]; then
  37.                 db_subst partman-basicfilesystems/check_failed TYPE "$filesystem"
  38.                 db_subst partman-basicfilesystems/check_failed PARTITION "$num"
  39.                 db_subst partman-basicfilesystems/check_failed DEVICE $(humandev $(cat device))
  40.                 db_set partman-basicfilesystems/check_failed true
  41.                 db_input critical partman-basicfilesystems/check_failed || true
  42.                 db_go || true
  43.                 db_get partman-basicfilesystems/check_failed
  44.                 if [ "$RET" = true ]; then
  45.                     exit 1
  46.                 fi
  47.             fi
  48.             ;;
  49.         esac
  50.     done
  51. done
  52.